package com.test1.bean;

import com.test1.ex.WithOutInstrumentalException;

/**
 * 音乐家
 *
 * @author Cc
 * 2024-03-12
 */
public class Musician {
    /**
     * 音乐家名字
     */
    private String name;
    /**
     * 音乐家使用的乐器
     */
    private Instrumental instrumental;

    public Musician() {
    }

    public Musician(String name, Instrumental instrumental) {
        this.name = name;
        this.instrumental = instrumental;
    }

    public String getToolName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Instrumental getInstrumental() {
        return instrumental;
    }

    public void setInstrumental(Instrumental instrumental) {
        this.instrumental = instrumental;
    }

    /**
     * 演奏的方法
     * 调用所属乐器的play方法
     * 如果没有乐器则抛出没有乐器异常
     */
    public void playInstrumental() throws WithOutInstrumentalException {
        if (this.instrumental == null)
            throw new WithOutInstrumentalException(null, "没有乐器");
        System.out.print(this.name + "正在演奏");
        this.instrumental.play();
    }
}
